package cn.iocoder.devlop.module.annual.report.wssubcapital.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import javax.validation.constraints.*;

/**
 * 外商年报投资者信息 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class WsSubcapitalBaseVO {

    @Schema(description = "年报id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22579")
    @NotNull(message = "年报id不能为空")
    private String ancheid;

    @Schema(description = "企业主体分类：1－企业　2－农合　3－个体　4－外商　5－常驻代表机构")
    private String entclassify;

    @Schema(description = "姓名/名称（中文）")
    private String investor;

    @Schema(description = "姓名/名称（英文）")
    private String eninvestor;

    @Schema(description = "国别（或地区）")
    private String country;

    @Schema(description = "证件类型：非自然人：ca50证照类型代码前增加字母“zz”。自然人：cb16证件类型代码。证件和证照合称证件。", example = "2")
    private String certype;

    @Schema(description = "证件号码")
    private String cerno;

    @Schema(description = "资金来源地")
    private String capsoul;

    @Schema(description = "是否有世界500强企业参与投资：是*1/否*0")
    private String worldentinv;

    @Schema(description = "世界500强企业参与投资时填写（可多选）以“|”分隔", example = "王五")
    private String entname;

    @Schema(description = "反向投资股权投资额，境外投资者填写")
    private BigDecimal contequam;

    @Schema(description = "反向投资股权比例，境外投资者填写")
    private BigDecimal contequrratio;

    @Schema(description = "投资者性质")
    private String invnature;

    @Schema(description = "投资者类型", example = "1")
    private String invtype;

    @Schema(description = "境外投资者是否为内地与香港、澳门《cepa服务贸易协议》规定的香港/澳门服务提供者：否*0/是*1（境外投资者填写）")
    private String mcserprovider;

    @Schema(description = "境外投资者是否为内地与香港、澳门《cepa投资协议》规定的香港/澳门投资者：否*0/是*1（境外投资者填写）")
    private String mcinvestor;

    @Schema(description = "境外投资者是否为华侨：否*0/是*1（境外投资者填写）")
    private String invoverseachinese;

    @Schema(description = "持股比例：单位“%”")
    private BigDecimal shareholdingratio;

    @Schema(description = "1-自然人 0-非自然人(系统使用  不上报)")
    private String kindcode;

    @Schema(description = "年报年份")
    private String ancheyear;

    @Schema(description = "企业注册号")
    private String regno;

}
